Generally, voice data transportation over computer networks has been conducted via ‘dumb’—terminals connected with ‘intelligent’ data servers. The ‘dumb’ terminals were designated, as such, because the majority of the data processing occurred at a central server location. Voice data would be encoded at the individual terminals, or in later implementations of communication networks—SIP endpoints, and transported to a communication server, where the data could be processed and transmitted to a receiving endpoint in a format conforming to the receiving endpoint's processing requirements.
However, as processors continue to increase in processing power and decrease in cost, it was determined that the data processing could be shifted from the central server to the endpoints, themselves. In order to achieve the data processing shift to the endpoints, significant modifications to the hardware/software components were necessary, in addition to modifying the communication protocols, themselves. According to the functionality shift to the endpoints, the communication server simply acts as a “middle-man” relaying the encoded data from an initiating endpoint to a receiving endpoint. This results in a paradigm shift, wherein telecommunication functionally is provided primarily by the terminal endpoints.
The shift has led to the development of communication protocols that facilitate the data encoding/decoding by the endpoint and simple transfers of the encoded data across a communication network. Session Initiation Protocol (SIP) is one of several protocols that may be used in the Internet Protocol to support Internet Telephony applications. The SIP specification is defined in the Internet Engineering Task Force (IETF) Request for Comments (RFC) 3261, dated June 2002; the disclosure of which is incorporated herein by reference in its entirety. SIP is an application-layer control protocol for creating, modifying, and terminating sessions between networked endpoints, which are referred to as SIP Enabled Devices, User Agents, or simply, SIP endpoints.
As discussed above, SIP Enabled Devices implement a network communication protocol, wherein a communication session is established for two endpoints to exchange communication data. The SIP specification defines several types of communication resources implemented for establishing and maintaining SIP based communication sessions among SIP Enabled Devices, which include SIP Registrars, SIP Redirect Servers, and SIP Proxies. These SIP communication resources are responsible for sending, receiving, routing, and relaying SIP messages among SIP Enabled Devices.
SIP Proxy Servers conventionally perform a variety of functions in SIP networks, such as coordinating data routing for SIP session requests to a particular SIP network subscriber current location; authenticating and authorizing SIP network users for particular services; implementing call-routing policies, as well as providing additional functionality to SIP network users. However, as discussed above, the paradigm is shifting to provide functionality at the SIP endpoints. The invention discussed herein is directed to achieving the paradigm shift.